package Controlador;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import Modelo.Liga;

import Vista.VentanaMenu;


public class ControladordeMenu implements ActionListener {
	 private VentanaMenu ventana;
    private Liga liga;
	
	
	

	public ControladordeMenu() {
		super();
		ventana= new VentanaMenu();
		ventana.setLocationRelativeTo(null);
		ventana.setVisible(true);
		ventana.agregarListener(this);
		liga= new Liga();
		
		
		
		// TODO Auto-generated constructor stub
	}
	

	public void Partidos()
	{
		if(liga.contarequipo()%2==0)
		{
			liga.llenarCasaVisitante();
			liga.llenarArraylistdecodigo();
			liga.llenarFechas();
			liga.generarPartido();
			liga.actualizar();
			
		}
		else
			ventana.mostrarMensaje("Debe ingresar otro equipo para poder generar el partido");
	}


	@Override
	public void actionPerformed(ActionEvent arg0) {
		ContraladorRegistrarArbitro ventanaarbitro;
		ControladorRegistrarEquipo ventanaequipo;
		ControladorConsultaCalendario ventanacalendario;
		ControladorVentanaTablaPosicion ventanatabla;
		// TODO Auto-generated method stub
		
		if(arg0.getActionCommand().equalsIgnoreCase("Registrar Arbitro"))
		{
			ventanaarbitro= new ContraladorRegistrarArbitro(liga);
		}
		if(arg0.getActionCommand().equalsIgnoreCase("Registrar Equipo"))
		{

			ventanaequipo = new ControladorRegistrarEquipo(liga);
		}
		if(arg0.getActionCommand().equalsIgnoreCase("Generar Partidos"))
			
		{
			//se valida para que no se generen dos veces el partidos
			// para que no se genere partidos sin haber registrado
			//los arbitros y los equipos
		 if(liga.contarPartidos() == 0){	
	      if (liga.validarArbitros()== true){
			if((liga.contararbitro()!=0) && (liga.contarequipo()!=0))
			{
				Partidos();
				ventana.mostrarMensaje("Partidos Generado Exitosamente");
				
			}
			else
				if((liga.contararbitro()==0) && (liga.contarequipo() !=0))
				{
				ventana.mostrarMensaje("Debe ingresar los arbitros para generar los partido");
		        }
			else
			  if((liga.contarequipo()==0) && (liga.contararbitro()!=0))
					{
						ventana.mostrarMensaje("Debe ingresar los Equipos para generar los partido");
					}
			   else
				 if((liga.contararbitro()==0) && (liga.contarequipo()==0) )
						{
							ventana.mostrarMensaje("Debe ingresar los Arbitros y los Equipos para generar los partidos");
						}
		
	      }
	      else
	    	  ventana.mostrarMensaje("El numero de arbitros registrado es insuficiente, debe ser mínimo: " +liga.contarequipo()/2 ); 
	       
		  }
		 else
				ventana.mostrarMensaje("Ya genero partido");
		          
	     }
		if(arg0.getActionCommand().equalsIgnoreCase("Consultar Calendario"))
		{
			ventanacalendario = new ControladorConsultaCalendario(liga);
		}
		if(arg0.getActionCommand().equalsIgnoreCase("Consultar Tabla"))
		{
			ventanatabla = new ControladorVentanaTablaPosicion(liga);
		}
    }
		
	


   
	
	
		
}

	
	
	
	
	


